package String;
import java.lang.StringBuilder;
/*
* String不适合频繁修改，为了解决这个问题java提供了专门修改字符串内容的API:StringBuilder
* 其内部维护一个可变的char数组，并提供了相关的常见工作：增，删，改，插
*
* StringBuffer是JDK1.0的时候与String一起推出
* StringBuilder 是JDK1.5之后推出的
* 它们功能一致,区别就是 StringBuffer是线程安全的(性能低),StringBuilder是线程不安全的(性能高)
* 开发的大多数时候,我们几乎不会在多线程下去操作同一个String,因此推荐StringBuilder来提高性能
* */
public class StringBuilder1 {
    public static void main(String[] args) {
           String str = "好好学习java";
//           StringBuilder hh = new StringBuilder();内部表示一个空字符串
        //将给定的字符串内容复制一份到StringBuilder中进行修改,str的内容依然不变
           StringBuilder hh = new StringBuilder(str);

           hh.append("，为了将来找个好工作");
        System.out.println(hh.toString());
        //replace(); 替换方法,开始下标到结束下标(含头不含尾) "xx" 替换的内容
           hh.replace(8,18,"我爱我家");
        System.out.println(hh);
        //delete(); 删除方法,开始下标到结束下标(含头不含尾)
           hh.delete(0,8);
        System.out.println(hh);
        //insert(); 插入方法,插入的下标(在下标后)+"xx" 要插入的字符串
           hh.insert(4,"我家最大");
        System.out.println(hh);
        //将hh的String内容拿到字符串对象n中
        String n = hh.toString();



    }
}
